package com.bj58.mis.apm.server.statistics.mapper;

import com.bj58.mis.apm.server.statistics.dto.rowkey.RowkeyStats;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 存储相关查询方法
 * @author: wangxw
 **/
@Mapper
public interface RowkeyStatsMapper {

    /**
     * 返回单条sql的维度情况
     * @param md5
     * @return
     */
    Map<String, Object> getQueryLogByMd5(@Param("md5") String md5);

    /**
     * 查询rowkey 维度信息,不包含次数
     * @param cubeId
     * @return
     */
    List<RowkeyStats> queryRowkeyStatsNoTimes(@Param("cubeId") String cubeId);
    /**
     * 查询rowkey 维度信息
     * @param cubeId
     * @return
     */
    List<RowkeyStats> queryRowKeyStats(@Param("cubeId") String cubeId);

    /**
     *
     * @param cubeId
     * @return
     */
    List<String> queryRowkeyBaseNum(@Param("cubeId") String cubeId);

    /**
     * 返回cube查询的维度使用情况
     * @param cubeId
     * @return
     */
    Set<Long> queryCuboids(@Param("cubeId") String cubeId);
}
